namespace MEF_Test.SettingsManager
{
    using System;
    using System.ComponentModel.Composition;

    using MEF_Test.Contracts;

    /// <summary>
    /// An internal, unused SettingsManager
    /// </summary>
    /// <remarks>The point of having this dummy settings manager is to test the type mapping mechanism to narrow down multiple exports to a StrictlyOne cardinality import.</remarks>
    [Export(typeof(ISettingsManager))]
    public class DummySettingsManager : ISettingsManager
    {
        /// <summary>
        /// Gets the setting matching the provided setting string identifier.
        /// </summary>
        /// <typeparam name="T">The type of the setting value.</typeparam>
        /// <param name="settingStringIdentifier">The setting string identifier.</param>
        /// <returns>The value for the specified setting</returns>
        public T GetSetting<T>(string settingStringIdentifier)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Sets the setting.
        /// </summary>
        /// <typeparam name="T">The type of the setting value.</typeparam>
        /// <param name="settingStringIdentifier">The setting string identifier.</param>
        /// <param name="value">The value of the setting to store.</param>
        public void SetSetting<T>(string settingStringIdentifier, T value)
        {
            throw new NotImplementedException();
        }
    }
}